package day0720API;
//.:"."表示任意一个字符,没有范围限制
//
//\d:表示任意一个数字,等同于[0-9]
//
//\w:表示任意一个单词字符,等同于a-zA-Z0-9_
//
//\s:表示任意一个空白字符.
//
//\D:表示不是数字
//
//\W:不是单词字符
//
//\S:不是空白字符
public class Test4 {
    public static void main(String[] args) {
        //二：数量词
        //? : 表示匹配0个或一个(多个不行)
        String reg="[a]?";
        System.out.println("a".matches(reg));//匹配
        System.out.println("".matches(reg));//匹配
        System.out.println("aa".matches(reg));//不匹配
        System.out.println("b".matches(reg));//不匹配
        System.out.println("ab".matches(reg));//不匹配

        String reg2="[ac]?";
        System.out.println("c".matches(reg2));
        System.out.println("a".matches(reg2));
        System.out.println("".matches(reg2));

        System.out.println("aa".matches(reg));//不匹配
        System.out.println("b".matches(reg));//不匹配
        System.out.println("ac".matches(reg));//不匹配

        //+ : 表示匹配一个或一个以上的符号
        String reg3="[a-z]+";
        System.out.println("".matches(reg3));//false
        System.out.println("*".matches(reg3));//false
        System.out.println("x".matches(reg3));//true
        System.out.println("abc".matches(reg3));//true

        //*:表示前面的内容出现任意次(0-多次)
        String reg4="[\\D]*";
        System.out.println("".matches(reg4));//true

        //{n}:表示前面的内容出现n次
        String reg5="[abc]{3}";
        System.out.println("aaa".matches(reg5));
        System.out.println("bbb".matches(reg5));
        System.out.println("abc".matches(reg5));//"abc"中的三个符号需要符合reg5(而且字符串长度必须是3)
        System.out.println("abca".matches(reg5));//false

        //{n,m}:表示前面的内容出现最少n次最多m次
        String reg6="(ll){2,3}";//将"ll"匹配两次或三次
        System.out.println("hello".matches(reg6));
        System.out.println("llllll".matches(reg6));
        System.out.println("ll.ll".matches(reg6));


        //regex: 正则表达式
        String regex7="(an){2,}";
        System.out.println("anan".matches(regex7));//true
        System.out.println("banana".matches(regex7));//false

        //()用于分组,是将括号内的内容看做是一个整体
        //例如：(abc|def){3}表示abc或def整体出现3次.
        String reg8="(an|ll){1}";
        System.out.println("ll".matches(reg8));
        System.out.println("an".matches(reg8));

        System.out.println("hello".matches(reg8));
        System.out.println("banana".matches(reg8));
        System.out.println("anan".matches(reg8));

    }
}







